#include<iostream>
#include<unistd.h>
#include<signal.h>

using namespace std;

volatile int flag = 0;  //volatile 修饰的变量禁止编译器优化
//保持内存可见性

void hander(int signo)
{
    flag=1;
    cout<<"signo: "<<signo<<endl;
}

int main()
{
    signal(2,hander);
    cout<<"getpid:"<<getpid()<<endl;
    while(!flag);
    cout<<"change flag , exit!"<<endl;
}

